Apache Bench 压力测试
参考资料 超实用压力测试工具-ab工具 参考资料 web性能测试:apache benchmark(ab)
ApacheBenchmark 是什么?
开发完网站或者 web接口后,一个比较负责任的工作就是测试一下接口性能,也叫做压力测试。web接口性能直接反映了接口 的并发处理能力,一个数值评估通常可以给系统性能给出一个比较好的反馈。
Apache Bench(简称为ab)是 Apache 提供用于对 Apache http server 进行基准测试的工具。但是由于其安装和使用简单,所以也可以用于对HTTP接口的压力测试和性能测试。
ab是一个命令行工具,使用ab命令可以模拟多线程并发请求,并且对负载机的要求很低,既不会占用很高CPU,也不会占用很多内存,但却会给目标服务器造成巨大的负载,其原理类似 DDOS/CC 攻击。(ab 命令会创建多个并发访问线程,模拟多个访问者同时对某一 URL 地址进行访问)
经常说的 Apache Benchmark(ab测试)其实就是 ab压力测试,用来帮助 web开发者了解所开发网站的性能。
Tips:在带宽不足的情况下,最好是本机进行测试,建议使用内网的另一台或者多台服务器通过内网进行测试,这样得出的数据,准确度会高很多。远程对 web服务器进行压力测试,往往效果不理想(因为网络延时过大或带宽不足)
它的测试目标是基于 URL 的,因此,它既可以用来测试 apache 的负载压力,也可以测试 nginx、lighthttp、tomcat、IIS 等其它 Web 服务器的压力。
ab 命令对发出负载的计算机要求很低,它既不会占用很高 CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似 CC 攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。